Даны целые числа а
и k. Выведите значение k-го бита числа а, равное 0 или 1.
Вход. В
одной строке заданы два числа a и k (0 ≤ a ≤ 109).
Выход. Выведите значение k-ого
бита числа а.
179 0
1
элементарная задача – битовые операции
Выражение a & (1 << k)
равно 0, если k-ый бит числа а равен 0. Если приведенное выражение
равно степени двойки, то бит равен 1. В зависимости от этого выводим ответ.
Читаем
входные данные. Вычисляем и выводим ответ.
scanf("%d %d",&a,&k);
res = ((a &
(1 << k)) > 0);
printf("%d\n",res);
import
java.util.*;
public class
Main
{
public static void
main(String[] args)
{
Scanner con = new
Scanner(System.in);
int a =
con.nextInt();
int k =
con.nextInt();
int res =
((a & (1 << k)) > 0) ? 1 : 0;
System.out.println(res);
}
}